<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组作业</title>
</head>
<body>
    <script>
        // 1.数组方法里面的push pop unshift shift的作用分别是什么，他们的返回值是什么？
        
        // push() 在数组的最后一个元素后边添加元素，改变数组的长度 arr.push(element1[,element2[,...[,elementN]]]); ==> 返回值为数组改变后的长度
        // pop() 删除数组的最后一个元素，改变数组的长度 arr.pop(); --> 该方法没有参数，返回值为被删除的element
        // unshift() 在数组的第一个元素的前边添加元素，改变数组的长度 arr.unshift(element1[,element2[,...[,elementN]]]); --> 返回值为 数组改变后的长度length
        // shift() 删除数组的第一个的元素，改变数组的长度 arr.shift(); --> 该方法没有参数，返回值为被删除的element
        

        // 2.移除数组 arr["西瓜","香蕉","菠萝"]中除西瓜外的所有元素，不要使用第二个数组
        var arr2 = ["西瓜","香蕉","菠萝"];
        arr2.splice(1);
        console.log(arr2);

        // 3.移除数组 arr[1,2,3,4,2] 中的 2,。不要直接修改数组 arr，结果返回新的数组
        var arr3 = [1,2,3,4,2];
        var newArr3 = [];
        for(var item of arr3){
           if(item === 2) continue;
           newArr3 = newArr3.concat(item);
        }
        console.log(arr3);
        console.log(newArr3);

        // 4.定义一个函数，能在数组 arr[1,2,3,4,2] 的"2"后面添加元素"jack"。不要直接修改数组 arr，结果返回新的数组即调用函数后返回的结果为[1,2,"jack",3,4,2,"jack"]
        function newArr() {
            var arr4 = [1,2,3,4,2];
            var newArr = [];
            for(var item of arr4) {
                // console.log(arr4.at(index));
                newArr.push(item);
                if(item === 2){
                    newArr.push("jack");
                }
            }
            console.log(newArr);
        }
        newArr();

        // 5.统计数组 arr[1,2,3,4,2] 中 2 出现的次数
        var arr5 = [1,2,3,4,2];
        var count = 0;
        for(var item of arr5) {
            // console.log(item);
            if(item ===2) {
                count++;
            }
        }
        console.log(count);
    </script>
</body>
</html>